home *** CD-ROM | disk | FTP | other *** search
/ Meeting Pearls 2 / Meeting Pearls Vol. II (1995)(GTI - Schatztruhe)[!].iso / Pearls / dev / TurboM2 / m2 / RandomNumbers.mod < prev    next >
Text File  |  1995-01-23  |  507b  |  30 lines

  1. IMPLEMENTATION MODULE RandomNumbers ;
  2. (* Reiser M. & Wirth N. (1992). Programming in OBERON.ACM press    *)
  3.  
  4. VAR
  5.   z : LONGINT ;
  6.  
  7. PROCEDURE Uniform( ) : REAL ;
  8.  
  9. CONST
  10.   a = 16807 ;
  11.   m = 2147483647 ;
  12.   q = m DIV a ;
  13.   r = m MOD a ;
  14.  
  15. VAR
  16.   gamma : LONGINT ;
  17.  
  18. BEGIN
  19.   gamma := a*(z MOD q)-r*(z DIV q) ;
  20.   IF gamma>0 THEN z := gamma ELSE z := gamma+m END ;
  21.   RETURN FLOAT(z)*(1.0/FLOAT(m))
  22. END Uniform ;
  23.  
  24. PROCEDURE SetSeed( seed : LONGINT ) ;
  25. BEGIN z := seed ;
  26. END SetSeed ;
  27.  
  28. BEGIN z := 314159
  29. END RandomNumbers.
  30.